package GUI;

/**
 *
 * @author Oberdan
 */
import dominio.Consorcio;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import negocio.ConsorcioNegocio;

public class ControladorGerenciarConsorcio extends MouseAdapter implements ActionListener {

    protected ConsorcioNegocio negocio = new ConsorcioNegocio();
    protected JanelaGerenciarConsorcio jGCO;
    protected JanelaCadastrarConsorcio jCCO;
    protected JanelaGraficos jG;
    protected JanelaRelatorio janelaRelatorio;

    public void setJanelaRelatorio(JanelaRelatorio janelaRelatorio) {
        this.janelaRelatorio = janelaRelatorio;
    }

    public void setjG(JanelaGraficos jG) {
        this.jG = jG;
    }
    private String mensagemCampoObrigatorio = "";

    @Override
    public void mouseClicked(MouseEvent e) {
        super.mouseClicked(e);
        int index;
        index = jGCO.getjTable2().getSelectedRow();
        jCCO.setCampoCpf(jGCO.getjTable2().getValueAt(index, 0).toString());
        jCCO.setCampoPlano(jGCO.getjTable2().getValueAt(index, 1).toString());
        jCCO.setCampoModelo(jGCO.getjTable2().getValueAt(index, 2).toString());
        jCCO.setCampoData(jGCO.getjTable2().getValueAt(index, 3).toString());
        jCCO.setCampoValor(jGCO.getjTable2().getValueAt(index, 4).toString());

        mostrarJanelaCadastrarConsorcio();


    }

    public String getMensagemCampoObrigatorio() {
        return mensagemCampoObrigatorio;
    }

    public void setMensagemCampoObrigatorio(String mensagemCampoObrigatorio) {
        this.mensagemCampoObrigatorio = mensagemCampoObrigatorio;
    }


    public void setJanelaGerenciarConsorcio(JanelaGerenciarConsorcio g) {
        jGCO = g;
    }

    public void setJanelaCadastrarConsorcio(JanelaCadastrarConsorcio j) {
        jCCO = j;
    }

    public ControladorGerenciarConsorcio() {
    }

    public void mostrarJanelaCadastrarConsorcio() {
        jCCO.setVisible(true);
    }

    public void listar ()
    {
        ModeloTabelaConsorcio tabelaConsorcio = new ModeloTabelaConsorcio();
        try
        {
            tabelaConsorcio.setConsorcio(negocio.listar());
            jGCO.getjTable2().setModel(tabelaConsorcio);
        }catch(NullPointerException e)
        {
            e.getStackTrace();
        }
    }

    public void pesquisar ()
    {
        if (jGCO.getBotaoSelecionado().equalsIgnoreCase("Selecione a opção de pesquisa"))
        {
            JOptionPane.showMessageDialog(jGCO, jGCO.getBotaoSelecionado());
            return;
        }
        ModeloTabelaConsorcio tabelaConsorcio = new ModeloTabelaConsorcio();
        try
        {
            tabelaConsorcio.setConsorcio(negocio.listarPorParametro(jGCO.getCampoPesquisa(), jGCO.getBotaoSelecionado()));
            jGCO.getjTable2().setModel(tabelaConsorcio);
            jGCO.setCampoPesquisa("");
        }catch (NullPointerException e)
        {
            e.getStackTrace();
        }catch (NumberFormatException e)
        {
            e.getStackTrace();
        }
        jGCO.getButtonGroupPesquisa().clearSelection();
    }



    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equalsIgnoreCase("Atualizar")) {
            listar();
        } else if (e.getActionCommand().equalsIgnoreCase("Cadastrar consórcio"))
        {
            jCCO.setVisible(true);
        }else  if (e.getActionCommand().equalsIgnoreCase("Sair")) {
            jGCO.setVisible(false);
        }else if (e.getActionCommand().equalsIgnoreCase("Pesquisar")) {
            pesquisar();
        }else if (e.getActionCommand().equalsIgnoreCase("Gerar Gráficos"))
        {
            jG.setVisible(true);
        }else if (e.getActionCommand().equalsIgnoreCase("Imprimir Relação"))
        {
            janelaRelatorio.setVisible(true);
        }
    }
}
